package com.java.yz.day10.ketang;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
    向集合中添加字符串元素，然后遍历集合 ，如果遇到java，则向集合中添加shujia

    这样子会报一个并发修改异常
    你集合添加元素，但是迭代器并不知道你添加了元素
    怎么解决：
        迭代器遍历，迭代器添加元素，
        集合遍历，集合添加元素
 */
public class CollectionText3 {
    public static void main(String[] args) {
        //创建集合对象 创建元素
        Collection c1 =new ArrayList();

        //添加集合元素
        c1.add("hello");
        c1.add("java");
        c1.add("hadoop");
        c1.add("hive");


        //对目前而而言，
        //Iterator迭代器无法完成，因为Iterator没有添加元素的方法
        //就只能使用数组的形式遍历添加
        //遍历集合
        /*
        Iterator iterator = c1.iterator();
        while (iterator.hasNext()){
            Object next = iterator.next();
            //向下转型
            String s=(String) next;
            if ("java".equals(s)){  //ConcurrentModificationException报并发修改异常
                c1.add("shujia");
            }
        }
         */

        Object[] objects=c1.toArray();
        for (int i = 0; i < objects.length; i++) {
            //向下转型
            String s = (String) objects[i];
            if ("java".equals(objects[i])){
                c1.add("shujia");
            }
        }
        System.out.println(c1);
    }
}
